-
Notifications
You must be signed in to change notification settings - Fork 3
Projection-based weather regimes #88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #88 +/- ##
===========================================
+ Coverage 99.58% 99.62% +0.03%
===========================================
Files 14 16 +2
Lines 962 1064 +102
Branches 15 15
===========================================
+ Hits 958 1060 +102
Misses 2 2
Partials 2 2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@chpolste, thank you very much for this development. Since it is related to geography I wonder if earthkit-meteo is the right place for it or it should be in earthkit-geo instead? What do you think? |
|
The regimes describe geographical patterns within meteorological fields, so it's a bit of both. For me, the meteorological application of regimes as recurrent weather patterns is the primary concern. And I prefer when the vocabulary used in the package matches that of the domain (which to me is meteorology, not geography). If it were to go into earthkit-geo I think the references to "regimes" in the code would have to go in favour of just (geographical) "patterns". I can see that the spatial aggregation in the computation of the projections/regime index is different to the "grid point-based" approach that most/all existing earthkit-meteo functions take over the spatial domain, so this would in some sense be a "first" for this package. |
oiffrig
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me!
|
|
||
| Parameters | ||
| ---------- | ||
| field : array_like |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's worth documenting the expected array dimensions (and the relationship between the arguments and return dimensions)
Description
Adds new submodule
earthkit.meteo.regimeswith classes to define a weather regime classification based on patterns and functions to project anomaly fields onto these patterns to compute a regime index, following the approach of Michel and Rivière (2011).The implementation aims to cater to users at three levels:
RegimePatternsfrom elsewhere. These users only need functionsprojectandstandardise.RegimePatterns(i.e., the required pattern generation is already implemented).RegimePatterns.Classes to represent fixed patterns (
ConstantRegimePatterns) and base patterns modulated by a custom scalar function (ModulatedRegimePatterns) are provided with this first implementation. An example notebook shows how to use the data of Grams to recreate their 7-pattern regimes classification and apply it to test data.Implementations are at array-level with dictionaries used to label outputs based on their association with individual regimes.
Features to consider in follow-up work
FieldListand xarrayContributor Declaration
By opening this pull request, I affirm the following: